﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations.Schema;

namespace Tesis2.Models
{
    public class Persona
    {
        [DisplayName("Código persona")]
        [Key]
        public int PersonaID { get; set; }

        [Required(ErrorMessage = "El nombre es requerido")]
        [DisplayName("Nombres")]
        public string Nombres { get; set; }

        [Required(ErrorMessage = "El apellido paterno es requerido")]
        [DisplayName("Apellido paterno")]
        public string ApellidoPaterno { get; set; }

        [Required(ErrorMessage = "El apellido materno es requerido")]
        [DisplayName("Apellido Materno")]
        public string ApellidoMaterno { get; set; }

        [Required(ErrorMessage = "El número de documento es requerido")]
        [DisplayName("Número documento")]
        public long NumeroDocumento { get; set; }

        [DisplayName("Email")]
        public string Email { get; set; }

        [DisplayName("Teléfono")]
        public long Telefono { get; set; }

        //foreign keys
        
        [DisplayName("Tipo documento")]
        public int TipoDocumentoID { get; set; }
        public virtual Parametro TipoDocumento { get; set; }
        
        
        [DisplayName("Dirección")]
        public int DireccionPersonaID { get; set; }
        public virtual Direccion DireccionPersona { get; set; }
        
        
        [DisplayName("Tipo")]
        public int TipoPersonaID { get; set; }
        public virtual Parametro TipoPersona { get; set; }
        
        [DisplayName("Estado")]
        public int EstadoPersonaID { get; set; }
        public virtual Parametro EstadoPersona { get; set; }
                
        [DisplayName("Institución")]
        public int InstitucionPersonaID { get; set; }
        public virtual Institucion InstitucionPersona { get; set; }
                
        [DisplayName("Usuario")]
        public int UsuarioPersonaID { get; set; }
        public virtual Usuario UsuarioPersona { get; set; }        

    }
}